In a conventional navigation system, an inertial measurement unit (IMU) is used to track the movement of a person, a ground vehicle, or an air vehicle. Additional sensors are typically used in the navigation system to correct for IMU error growth and drift. The zero velocity update (ZUPT) is a commonly used correction technique for IMU error growth and drift in a navigation system for a person. This technique requires knowledge of when one foot of a person is stationary (i.e., at zero velocity). Currently, this is determined by monitoring accelerometers in the IMU at all times, to identify a signature indicating that the velocity is zero.
In using the ZUPT technique, if a foot is known to be stationary, then the IMU can be checked to make sure that it, too, is indicating zero velocity. If it is not, due to error growth or drift, then the IMU can be corrected. While this technique can reduce IMU error growth and makes the navigation system more accurate, additional computational time and power are required, both of which can be extremely limited in a navigation system. Further, while ZUPT algorithms reduce distance errors, they cannot effectively bound heading errors. In order to bound heading errors a compass is often used with the ZUPT, however, compass accuracy still results in limited position performance and is inadequate for long, precise global positioning system (GPS) denied missions.
Accordingly, there is a need for better techniques to correct for IMU error growth that provide information on when a foot is stationary, without expending too much computation time or power.